﻿#pragma execution_character_set("utf-8")
#ifndef IBASEDEVICEV2_H
#define IBASEDEVICEV2_H

#include <QObject>
#include <QWidget>
#include <QJsonObject>

#include "BaseItem.h"
#include "DeviceStatusItem.h"

class BaseDevice : public BaseItem
{
    Q_OBJECT
public:
    Q_INVOKABLE BaseDevice(QObject *parent=nullptr);


    //在流程中止时，先停止，然后再复位
    virtual bool Stop();
    virtual bool Reset();

signals:
    void StatusChanged(QJsonObject obj);

protected:
signals:

public slots:

    // BaseItem interface
public:
    virtual bool Init() override;

    virtual void SetConfig(QJsonObject obj);

    virtual QWidget *GetConfigWidget() override;
};

#endif // IBASEDEVICEV2_H
